• author Rick Andrasek
  • name FlagFndr
  • iff code howitzer
  •  
  • start1:
  • scan perimeter
  • if scan found enemy then discharge energy
  • if scan found flag then goto nflag
  • move forward
  • goto start1
  •  
  • ;---  N_Flag  Used for flag found on scan perimeter
  •  
  • nflag:
  • cross scan
  • if scan found flag then goto csflag
  • scan position 2
  • if scan found flag then goto gone
  • scan position 4
  • if scan found flag then goto gose
  • scan position 6
  • if scan found flag then goto gosw
  • scan position 8
  • if scan found flag then goto gonw
  • ;--  If get to here, flag was taken
  • goto start1
  •  
  • ;------  NOTE: if flag is taken, endless loop
  •  
  • csflag:
  • scan forward
  • if scan found flag then goto scfoundflag
  • turn left
  • ;-- make sure it's still there
  • cross scan
  • if scan found flag then goto csflag
  • goto start1
  •  
  • scfoundflag:
  • if value #cur_life = 0 then goto de4flag
  • move forward
  • goto start1
  •  
  • de4flag:
  • move backward
  • discharge energy
  • move forward
  • move forward
  • goto start1
  • ;----------------------------
  •  
  • gone:
  • if facing north then goto movenen
  • if facing east then goto movenee
  • if facing south then goto movenes
  • ;facing west
  • goto movenew
  •  
  • gonw:
  • if facing north then goto movenee
  • if facing east then goto movenes
  • if facing south then goto movenew
  • goto movenen
  •  
  • gose:
  • if facing north then goto movenew
  • if facing east then goto movenen
  • if facing south then goto movenee
  • goto movenes
  •  
  • gosw:
  • if facing north then goto movenes
  • if facing east then goto movenew
  • if facing south then goto movenen
  • goto movenee
  • ;----------------------------
  •  
  • movenen:
  •   if value #cur_life = 0 then goto xxhxv5
  •  
  • xxhxv5r:
  • move forward
  • turn right
  • move forward
  • goto start1
  •  
  • xxhxv5:
  • move backward
  • discharge energy
  • move forward
  • goto xxhxv5r
  •  
  • movenee:
  • if value #cur_life = 0 then goto xxhxv4
  •  
  • xxhxv4r:
  • move forward
  • turn left
  • move forward
  • goto start1
  •  
  • xxhxv4:
  • move backward
  • discharge energy
  • move forward
  • goto xxhxv4r
  •  
  • movenew:
  • if value #cur_life = 0 then goto xxhxv3
  •  
  • xxhxv3r:
  • move backward
  • turn right
  • move forward
  • goto start1
  •  
  • xxhxv3:
  • move forward
  • discharge energy
  • move backward
  • goto xxhxv3r
  •  
  • movenes:
  • if value #cur_life = 0 then goto xxhxv2
  •  
  • xxhxv2r:
  • move backward
  • turn left
  • move forward
  • goto start1
  •  
  • xxhxv2:
  • move forward
  • discharge energy
  • move backward
  • goto xxhxv2r
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •